{"version":3,"file":"static/chunks/pages/[franchiseeSlug]-975e2d8bbfd95d0b.js","mappings":"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","sources":["webpack://_N_E/./components/Hero/index.tsx","webpack://_N_E/./components/OpenGraphDescription/index.tsx","webpack://_N_E/./components/OpenGraphTitle/index.tsx","webpack://_N_E/./components/ReviewStars/animateStars.ts","webpack://_N_E/./components/ReviewStars/index.tsx","webpack://_N_E/./components/Section/index.tsx","webpack://_N_E/./data/causeMarketing.ts","webpack://_N_E/./components/CauseMarketing/index.tsx","webpack://_N_E/./components/Sections/HomeDifferenceSection.tsx","webpack://_N_E/./components/Sections/RotatingTextSection.tsx","webpack://_N_E/./components/head.js","webpack://_N_E/./pages/[franchiseeSlug]/index.tsx","webpack://_N_E/?2a84"],"sourcesContent":["import React from 'react';\nimport Head from 'next/head';\nimport Image, { ImageProps } from 'next/image';\nimport Link from 'next/link';\n\nexport interface CarouselItem extends ImageProps {\n cta?: JSX.Element;\n}\n\nconst Hero: React.FC = () => {\n return (\n <>\n \n \n \n \n\n
\n
\n \n
\n\n
\n \n
\n \n BOOK YOUR CLEANING\n \n \n CALCULATE YOUR PRICE\n \n
\n
\n
\n
\n
\n
\n
\n
\n \n );\n};\n\nexport default Hero; \n","import React from 'react';\nimport Head from 'next/head';\n\ninterface OpenGraphDescriptionProps {\n // add open graph description props here\n children: React.ReactNode;\n}\n\nconst OpenGraphDescription: React.FC = ({\n children,\n}: OpenGraphDescriptionProps) => {\n const description = children.toString();\n\n return (\n \n {/* Add open graph description Content Here */}\n \n \n \n \n );\n};\n\nexport default OpenGraphDescription;\n","import React from 'react';\nimport Head from 'next/head';\n\ninterface OpenGraphTitleProps{\n title: string;\n}\n\nconst OpenGraphTitle: React.FC = ({ title }: OpenGraphTitleProps) => (\n \n {title}\n \n \n\n \n);\n\nexport default OpenGraphTitle;\n","/**\n * Animate review stars\n */\nimport ScrollOut from 'scroll-out';\n\nconst animateStars = () => {\n const starsTrigger = document.querySelectorAll('.review-stars__trigger');\n\n if (!starsTrigger) {\n return;\n }\n\n starsTrigger.forEach((el) => {\n ScrollOut({\n targets: el,\n once: true,\n onShown: (element) => {\n const starsWrap = element.querySelectorAll('.review-stars__wrap');\n\n if (!starsWrap) {\n return;\n }\n\n starsWrap.forEach((el) => {\n const stars = el.querySelectorAll('span');\n\n if (!stars) {\n return;\n }\n\n stars.forEach((star, index) => {\n setTimeout(() => {\n star.classList.add('cycle-in');\n }, 125 * index);\n });\n });\n },\n });\n });\n};\n\nexport default animateStars;\n","import React from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { SizeProp } from '@fortawesome/fontawesome-svg-core';\nimport { faStar } from '@fortawesome/free-solid-svg-icons';\nimport { blue400 } from '../../ui/colors';\nimport animateStars from './animateStars';\n\nexport interface ReviewStarsProps{\n // add review stars props here\n className?: string;\n color?: string;\n size?: SizeProp;\n\n}\n\nconst ReviewStars: React.FC = ({ className, color, size }: ReviewStarsProps) => (\n \n \n \n \n {' '}\n \n \n \n {' '}\n \n \n \n {' '}\n \n \n \n {' '}\n \n \n \n \n);\n\nReviewStars.defaultProps = {\n className: null,\n color: blue400,\n size: '1x',\n};\n\nexport { ReviewStars as default, animateStars };\n","/**\n * Create a page section with different background colors, vertical padding and widths\n * Defaults to transparent, top and bottom, col-xs-12/col-md-11/col-lg-10\n */\nimport React from 'react';\nimport { Row, Col, Container } from 'react-bootstrap';\n// import style from './Section.module.scss';\n\ninterface SectionProps {\n children?: React.ReactNode;\n className?: string;\n color?: string;\n padding?: string;\n xs?: number;\n md?: number;\n lg?: number;\n}\n\nconst Section: React.FC = ({\n xs,\n md,\n lg,\n color,\n className,\n children,\n padding,\n}: SectionProps) => {\n const sectionColor: string = color || 'transparent';\n const sectionXs: number = xs || 12;\n const sectionMd: number = md || 11;\n const sectionLg: number = lg || 10;\n let sectionPadding: string | boolean = 'y';\n\n if (padding === 'top') {\n sectionPadding = 't';\n } else if (padding === 'bottom') {\n sectionPadding = 'b';\n } else if (padding === 'none' || padding === null) {\n sectionPadding = false;\n }\n\n return (\n \n {children && (\n \n \n \n {children || null}\n \n \n \n )}\n \n );\n};\n\nexport default Section;\n","export const causeMarketingData = [\n {\n id: 1,\n name: 'Cleaning for a Reason',\n url: 'https://cleaningforareason.org/',\n image: 'https://res.cloudinary.com/twomaidsengi/image/upload/v1740686860/hubsite-reskin/CFR_Lavender-Tagline_side_11-2_tm.webp',\n description: \"We selflessly donate time and services to support cancer patients and their families. Our goal is to remove the burden of cleaning and allow those recovering from surgery, in active treatment, or in hospice to focus on their health and spending valuable time with loved ones.\",\n },\n {\n id: 2,\n name: 'The Finley Project',\n url: 'https://www.thefinleyproject.org/',\n image: 'https://res.cloudinary.com/twomaidsengi/image/upload/v1713540352/hubsite-reskin/TheFinleyProject.webp',\n description: 'We are committed to providing cleaning services for mothers who have experienced the unimaginable - the loss of an infant. We are part of the devoted team that provides a lifeline for mothers in the minutes, hours and days after infant loss through a 7-Part Holistic Program that supports each mother physically, emotionally and spiritually at no financial cost to them.',\n },\n {\n id: 3,\n name: 'Alliance for HOPE',\n url: 'https://www.allianceforhope.com/',\n image: 'https://res.cloudinary.com/twomaidsengi/image/upload/v1682368766/hubsite-reskin/alliance_for_hope.webp',\n description: \"We support this nationally recognized, evidence based program that's helping thousands of survivors of domestic violence, sexual assault, and child abuse every year.\",\n },\n {\n id: 4,\n name: 'Brady Wynn Foundation',\n url: 'https://bradywynnfoundation.org/',\n image: 'https://res.cloudinary.com/twomaidsengi/image/upload/v1740687120/hubsite-reskin/Brady_Wynn_Foundation_Logo_With_Writing_1.webp',\n description: \"Two Maids supports this organization on a national level to help families with babies that have life threatening neurological complications. Our goal is to provide time for healing, while we handle the burden of keeping their homes clean.\"\n }\n];","import React from 'react';\nimport { causeMarketingData } from '../../data/causeMarketing'\n\nconst CauseMarketing: React.FC = () => {\n return (\n
\n {causeMarketingData && causeMarketingData.map(data => (\n
\n \n \n \n {data.name}\n

{data.description}

\n
\n ))}\n
\n );\n};\n\nexport default CauseMarketing;","import React from 'react';\nimport { Col, Row } from 'react-bootstrap';\nimport Section from '../Section';\nimport CauseMarketing from '../CauseMarketing';\n\nexport function HomeDifferenceSection(): JSX.Element {\n return (\n
\n \n \n

Powered by Caring

\n \n
\n \n

\n Two Maids organization fosters a culture of compassion, interconnectedness, and grit, creating a welcoming environment akin to home. \n We not only prioritize care within our internal staff but also extend our support to communities and nonprofit organizations whose values \n and programs align naturally with those of Two Maids. For more information about each organization partner, please visit the organization’s \n website linked below.\n

\n
\n \n
\n );\n}\n","import React from 'react';\nimport { Col } from 'react-bootstrap';\nimport Section from '../Section';\n\nexport function RotatingTextSection(): JSX.Element {\n return (\n
\n \n

\n Your day just
\n got a whole lot
\n
\n better.\n brighter.\n sunnier.\n more delightful.\n more fulfilling.\n
\n

\n

\n Let Two Maids do all of the dirty work for you. Focus on everything\n else you need to get done and schedule a home cleaning service with us\n today.\n

\n \n
\n );\n}\n","/**\n * SEO component that sets up the and page metadata.\n *\n * @link https://github.com/nfl/react-helmet\n */\nimport { datadogRum } from '@datadog/browser-rum';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport Helmet from 'react-helmet';\nimport { pink500 } from '../ui/colors';\n\nconst colorTheme = pink500;\n\nfunction Head({ slug, description, lang, meta, title }) {\n const metaDescription = description || 'Meta';\n // const metaDescription = 'Meta';\n datadogRum.init({\n applicationId: '2b8a7178-88fd-4eae-b1fc-d466adbcda4c',\n clientToken: 'puba6170b123e376449351616f417bffbae',\n site: 'datadoghq.com',\n service: 'hubsite',\n\n sessionSampleRate: 100,\n sessionReplaySampleRate: 100, // if not included, the default is 100\n trackResources: true,\n trackLongTasks: true,\n trackUserInteractions: true,\n silentMultipleInit: true,\n });\n\n datadogRum.startSessionReplayRecording();\n return (\n \n {/* */}\n {/* */}\n \n );\n}\n\nHead.defaultProps = {\n lang: 'en',\n meta: [],\n description: '',\n};\n\nHead.propTypes = {\n description: PropTypes.string,\n lang: PropTypes.string,\n meta: PropTypes.arrayOf(PropTypes.object),\n title: PropTypes.string.isRequired,\n};\n\nexport default Head;\n","import * as Sentry from '@sentry/node';\nimport camelcaseKeys from 'camelcase-keys';\nimport { Duration } from 'luxon';\nimport { GetStaticPaths, GetStaticProps } from 'next';\nimport dynamic from 'next/dynamic';\nimport Link from 'next/link';\nimport React, { useEffect } from 'react';\nimport { Col, Row } from 'react-bootstrap';\nimport LazyLoad from 'react-lazyload';\nimport Head from '../../components/head';\nimport Hero from '../../components/Hero';\nimport Layout from '../../components/Layout';\nimport OpenGraphDescription from '../../components/OpenGraphDescription';\nimport OpenGraphTitle from '../../components/OpenGraphTitle';\nimport { animateStars } from '../../components/ReviewStars';\nimport Section from '../../components/Section';\nimport { HomeDifferenceSection } from '../../components/Sections/HomeDifferenceSection';\nimport { RotatingTextSection } from '../../components/Sections/RotatingTextSection';\nimport { FranchiseeProvider } from '../../context/Franchisee';\nimport { FranchiseeState } from '../../context/Franchisee/franchisee.types';\nimport franchiseeSession from '../../context/Franchisee/franchiseeSession';\nimport Gataware from '../../SDKs/Gataware';\nimport GatherUp from '../../SDKs/GatherUp';\n\nconst ReviewsCarousel = dynamic(\n () => import('../../components/ReviewsCarousel'),\n { ssr: false }\n);\n\nconst FeaturedInSection = dynamic(\n () => import('../../components/FeaturedInSection'),\n { ssr: false }\n);\n\nexport const getStaticPaths: GetStaticPaths = async () => {\n const response = await Gataware.getLocations()\n .then(({ data }) => JSON.parse(data))\n .then((data) => data.data.map((franchisee) => camelcaseKeys(franchisee)));\n\n const paths = await response.map(({ slug }) => ({\n params: { franchiseeSlug: slug },\n }));\n\n return {\n paths,\n fallback: 'blocking',\n };\n};\n\nexport const getStaticProps: GetStaticProps = async ({ params }) => {\n const { franchiseeSlug } = params;\n\n const response = await Gataware.getLocations({\n slugs: [franchiseeSlug.toLocaleString()],\n }).then(({ data }) => JSON.parse(data));\n\n const franchisees = await response.data\n ?.filter(({ slug }) => franchiseeSlug === slug)\n .map((franchisee) => camelcaseKeys(franchisee));\n\n if (!franchisees) {\n return {\n notFound: true,\n revalidate: Duration.fromObject({ hours: 8 }).as('seconds'),\n };\n }\n\n const [franchisee] = franchisees;\n\n if (!franchisee) {\n return {\n redirect: {\n destination: '/',\n permanent: false,\n },\n };\n }\n\n const url = franchisee.url + '.com';\n \n // Gets the businesses and finds the businessWebsiteURL that matches the franchisee url\n const businessesId = await GatherUp.getBusinesses()\n .then((res) => {\n if (res === null) return;\n const matchBusinessWithFranchisee = res.find(\n (business) =>\n business.businessWebsiteURL.replace(/(^\\w+:|^)\\/\\//, '').toLowerCase() === url.toLowerCase()\n );\n\n if (matchBusinessWithFranchisee === undefined) {\n return null;\n }\n\n let businessId = matchBusinessWithFranchisee.businessId;\n\n return businessId;\n })\n .catch((error) => {\n Sentry.captureException(error);\n });\n\n // Passes the matched businessesId to get the reviews for the current location\n const reviews = await GatherUp.getReviews({\n businessId: businessesId,\n });\n\n return {\n props: {\n franchisee,\n reviews,\n businessesId,\n },\n revalidate: Duration.fromObject({ hours: 8 }).as('seconds'),\n };\n};\n\ninterface SpecificStorePageProps {\n /* add specific store page props here */\n franchisee: FranchiseeState;\n reviews;\n businessesId;\n}\n\nconst SpecificStore: React.FC = ({\n franchisee,\n reviews,\n businessesId,\n}: SpecificStorePageProps) => {\n useEffect(animateStars);\n useEffect(() => {\n franchiseeSession.set(franchisee.id);\n });\n\n return (\n \n \n \n {/* Add Specific Store description here */}\n Two Maids {franchisee.name}\n \n \n \n \n \n {/* Add About description here */}\n Two Maids {franchisee.name} provides residential house cleaning\n services.\n \n\n \n\n \n\n
\n \n

Your Resident Home Cleaning Expert

\n

\n At Two Maids, our purpose is to make a difference in people's\n daily lives. With our maid service, we help busy families maintain\n beautiful, clean, and healthy homes by taking care of the chores\n that no one has the time or energy to do. We proudly serve our\n customers, putting their needs ahead of our own so they can focus\n on what matters most to them. As the best house cleaning service\n on the market, we pride ourselves on care, quality, and a\n sparkling home cleaning. Everything we do makes lives a little\n easier and homes a little brighter.\n

\n \n \n \n \n

WE SUPPLY EVERYTHING FOR YOUR CLEANING NEEDS

\n

\n There's not a standard cleaning product we don't supply. Two\n Maids {franchisee.name} provides all the cleaning supplies and\n equipment needed to clean your home. Be it a one-time deep\n clean, or a recurring cleaning, we bring the cleaning supplies\n so that you can have one less thing to worry about.\n

\n \n \n \n

EXPERIENCED HOUSE CLEANERS

\n

\n Our team of experienced house cleaners undergoes thorough\n training, background checks, and is fully bonded and insured.\n They bring professionalism, efficiency, and a friendly demeanor\n to every cleaning job, ensuring your home is sparkling clean and\n welcoming.\n

\n \n \n \n

PROVEN HISTORY IN THE HOUSE CLEANING SERVICE

\n

\n We are a multi-award-winning cleaning company that is over 15\n years in the making. Trusted by over 500 households daily\n nationwide, our track record speaks for itself. We take pride in\n delivering consistent, reliable cleaning services tailored to\n meet your needs.\n

\n \n \n VIEW OUR SERVICES\n \n
\n
\n\n \n\n
\n \n \n

A Few Kind Words

\n \n
\n \n {businessesId === null ||\n reviews[0] === null ||\n reviews.length === 0 ? (\n \n ) : (\n \n )}\n \n
\n -1 ? `${franchisee.slug}/reviews` : '/'\n }`}\n >\n READ MORE REVIEWS\n \n
\n
\n \n
\n
\n );\n};\n\nexport default SpecificStore; ","\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/[franchiseeSlug]\",\n function () {\n return require(\"private-next-pages/[franchiseeSlug]/index.tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/[franchiseeSlug]\"])\n });\n }\n "],"names":["rel","href","className","layout","objectFit","priority","src","alt","description","children","toString","name","content","property","title","starsTrigger","document","querySelectorAll","forEach","el","ScrollOut","targets","once","onShown","element","starsWrap","stars","star","index","setTimeout","classList","add","blue400","xs","md","lg","color","padding","sectionColor","sectionXs","sectionMd","sectionLg","sectionPadding","causeMarketingData","id","url","image","map","data","target","HomeDifferenceSection","Section","Row","Col","RotatingTextSection","colorTheme","pink500","Head","slug","lang","meta","metaDescription","datadogRum","applicationId","clientToken","site","service","sessionSampleRate","sessionReplaySampleRate","trackResources","trackLongTasks","trackUserInteractions","silentMultipleInit","htmlAttributes","bodyAttributes","class","titleTemplate","link","sizes","concat","defaultProps","ReviewsCarousel","dynamic","ssr","FeaturedInSection","franchisee","reviews","businessesId","useEffect","animateStars","franchiseeSession","franchiseeValue","width","height","loading","length","storeReviews","location","state","window","__NEXT_P","push"],"sourceRoot":""}